package com.fengkai.filepost.pdfoutstream.test.ODsolutions;

import java.math.BigDecimal;

/**
 * @author Fengkai
 * @creat 2023/4/12
 * 本篇题目：太阳能板最大面积
 * 题目
 * 给航天器一侧加装长方形或正方形的太阳能板（图中的红色斜线区域），需要先安装两个支柱（图中的黑色竖条），再在支柱的中间部分固定太阳能板。但航天器不同位置的支柱长度不同，太阳能板的安装面积受限于最短一侧的那根支柱长度。如图：
 * 现提供一组整形数组的支柱高度数据，假设每根支柱间距离相等为 1 个单位长度，计算如何选择两根支柱可以使太阳能板的面积最大。
 * 输入描述:
 * 10,9,8,7,6,5,4,3,2,1
 * 注：支柱至少有 2 根，最多 10000 根，能支持的高度范围 1~10^9 的整数。柱子的高度是无序的，例子中递减只是巧合。
 * 输出描述: 25
 * 可以支持的最大太阳能板面积：（10 米高支柱和 5 米高支柱之间）
 */
public class MaxSqaure {
    public static void main (String[] args) {
        System.out.println(getMaxSqaure(new long[]{10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 20}));
    }

    public static long getMaxSqaure (long[] values) {
        long result = 0;
        for (int i = 0; i < values.length; i++) {
            for (int j = i + 1; j < values.length; j++) {
                long width = j - i;
                long height = Math.min(values[j], values[i]);
                result = Math.max(result, width * height);
            }
        }
        return result;
    }
}
